page {
  background-color: $uni-bg-color-page;
}

.page {
  /* #ifdef H5 */
  min-height: calc(100vh - 45px);
  /* #endif */
  /* #ifndef H5 */
  min-height: 100vh;
  /* #endif */
}

.page-tabbar {
  /* #ifdef H5 */
  min-height: calc(100vh - 95px);
  /* #endif */
  /* #ifndef H5 */
  min-height: calc(100vh - 100rpx - env(safe-area-inset-bottom) / 2);
  /* #endif */
}

::-webkit-scrollbar {
  display: none;
}

body {
  background-color: $uni-bg-color-page;
  font-size: $uni-font-size-base;
  color: $uni-text-color;
  font-family: Helvetica Neue, Helvetica, sans-serif;
}

view,
scroll-view,
swiper,
button,
input,
textarea,
label,
navigator,
image {
  box-sizing: border-box;
  font-size: $uni-font-size-base;
}

button {
  margin: 0 !important;
  padding: 0 $uni-spacing-row-sm !important;
}

button.text-sm {
  padding: 0 $uni-spacing-row-xs;
  line-height: 50rpx;
}

button::after {
  border: none !important;
}

// 圆角
.radius-sm {
  border-radius: $uni-border-radius-sm !important;
  overflow: hidden;
}

.radius-base {
  border-radius: $uni-border-radius-base !important;
  overflow: hidden;
}

.radius-lg {
  border-radius: $uni-border-radius-lg !important;
  overflow: hidden;
}

.radius-top-lg {
  border-radius: $uni-border-radius-lg $uni-border-radius-lg 0 0 !important;
  overflow: hidden;
}

.radius-xl {
  border-radius: $uni-border-radius-xl !important;
  overflow: hidden;
}

.radius-2xl {
  border-radius: $uni-border-radius-2xl !important;
  overflow: hidden;
}

.radius-3xl {
  border-radius: $uni-border-radius-3xl !important;
  overflow: hidden;
}

.radius-4xl {
  border-radius: $uni-border-radius-4xl !important;
  overflow: hidden;
}

.radius-top-2xl {
  border-radius: $uni-border-radius-2xl $uni-border-radius-2xl 0 0 !important;
  overflow: hidden;
}

.round {
  border-radius: $uni-border-radius-round !important;
  overflow: hidden;
}

/* ==================
        按钮
 ==================== */

.cu-btn {
  position: relative;
  border: 0rpx;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 30rpx;
  font-size: 28rpx;
  height: 64rpx;
  line-height: 64rpx;
  text-align: center;
  text-decoration: none;
  overflow: visible;
  margin-left: initial;
  transform: translate(0rpx, 0rpx);
  margin-right: initial;
}

.cu-btn::after {
  display: none;
}

.cu-btn:not([class*="bg-"]) {
  background-color: #f0f0f0;
}

.cu-btn[class*="line"] {
  background-color: transparent;
}

.cu-btn[class*="line"]::after {
  content: " ";
  display: block;
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1rpx solid currentColor;
  transform: scale(0.5);
  transform-origin: 0 0;
  box-sizing: border-box;
  border-radius: 12rpx;
  z-index: 1;
  pointer-events: none;
}

.cu-btn.round[class*="line"]::after {
  border-radius: 1000rpx;
}

.cu-btn[class*="lines"]::after {
  border: 6rpx solid currentColor;
}

.cu-btn[class*="bg-"]::after {
  display: none;
}

.cu-btn.sm {
  padding: 0 20rpx;
  font-size: 20rpx;
  height: 48rpx;
  line-height: 48rpx;
}

.cu-btn.lg {
  padding: 0 40rpx;
  font-size: 32rpx;
  height: 80rpx;
}

.cu-btn[disabled] {
  opacity: 0.6;
  color: #ffffff;
}

/* ==================
        布局
 ==================== */

/*  -- flex弹性布局 -- */

.flex {
  display: flex !important;
}

.basis-xs {
  flex-basis: 20%;
}

.basis-sm {
  flex-basis: 40%;
}

.basis-df {
  flex-basis: 50%;
}

.basis-lg {
  flex-basis: 60%;
}

.basis-xl {
  flex-basis: 80%;
}

.flex-sub {
  flex: 1;
}

.flex-twice {
  flex: 2;
}

.flex-treble {
  flex: 3;
}

.flex-direction {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.align-center {
  align-items: center;
}

.align-stretch {
  align-items: stretch;
}

.self-start {
  align-self: flex-start;
}

.self-center {
  align-self: flex-center;
}

.self-end {
  align-self: flex-end;
}

.self-stretch {
  align-self: stretch;
}

.align-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end !important;
}

.justify-center {
  justify-content: center !important;
}

.justify-between {
  justify-content: space-between !important;
}

.justify-around {
  justify-content: space-around !important;
}

/* grid布局 */

.grid {
  display: flex;
  flex-wrap: wrap;
}

.grid.grid-square {
  overflow: hidden;
}

.grid.grid-square .cu-tag {
  position: absolute;
  right: 0;
  top: 0;
  border-bottom-left-radius: 6rpx;
  padding: 6rpx 12rpx;
  height: auto;
  background-color: rgba(0, 0, 0, 0.5);
}

.grid.grid-square>view>text[class*="cuIcon-"] {
  font-size: 52rpx;
  position: absolute;
  color: #8799a3;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.grid.grid-square>view {
  margin-right: 20rpx;
  margin-bottom: 20rpx;
  border-radius: 6rpx;
  position: relative;
  overflow: hidden;
}

.grid.grid-square>view.bg-img image {
  width: 100%;
  height: 100%;
  position: absolute;
}

.grid.col-1.grid-square>view {
  padding-bottom: 100%;
  height: 0;
  margin-right: 0;
}

.grid.col-2.grid-square>view {
  padding-bottom: calc((100% - 20rpx) / 2);
  height: 0;
  width: calc((100% - 20rpx) / 2);
}

.grid.col-3.grid-square>view {
  padding-bottom: calc((100% - 40rpx) / 3);
  height: 0;
  width: calc((100% - 40rpx) / 3);
}

.grid.col-4.grid-square>view {
  padding-bottom: calc((100% - 60rpx) / 4);
  height: 0;
  width: calc((100% - 60rpx) / 4);
}

.grid.col-5.grid-square>view {
  padding-bottom: calc((100% - 80rpx) / 5);
  height: 0;
  width: calc((100% - 80rpx) / 5);
}

.grid.col-2.grid-square>view:nth-child(2n),
.grid.col-3.grid-square>view:nth-child(3n),
.grid.col-4.grid-square>view:nth-child(4n),
.grid.col-5.grid-square>view:nth-child(5n) {
  margin-right: 0;
}

.grid.col-1>view {
  width: 100%;
}

.grid.col-2>view {
  width: 50%;
}

.grid.col-3>view {
  width: calc(100% / 3);
}

.grid.col-4>view {
  width: 25%;
}

.grid.col-5>view {
  width: 20%;
}

/*  -- 内外边距 -- */

.margin-0 {
  margin: 0 !important;
}

.margin-xs {
  margin: $uni-spacing-col-xs $uni-spacing-row-xs !important;
}

.margin-sm {
  margin: $uni-spacing-col-sm $uni-spacing-row-sm !important;
}

.margin-base {
  margin: $uni-spacing-col-base $uni-spacing-row-base !important;
}

.margin-lg {
  margin: $uni-spacing-col-lg $uni-spacing-row-lg !important;
}

.margin-xl {
  margin: $uni-spacing-col-xl $uni-spacing-row-xl !important;
}

.margin-2xl {
  margin: $uni-spacing-col-2xl $uni-spacing-row-2xl !important;
}

.margin-top-0 {
  margin-top: 0 !important;
}

.margin-top-xs {
  margin-top: $uni-spacing-col-xs !important;
}

.margin-top-sm {
  margin-top: $uni-spacing-col-sm !important;
}

.margin-top-base {
  margin-top: $uni-spacing-col-base !important;
}

.margin-top-lg {
  margin-top: $uni-spacing-col-lg !important;
}

.margin-top-xl {
  margin-top: $uni-spacing-col-xl !important;
}

.margin-top-2xl {
  margin-top: $uni-spacing-col-2xl !important;
}

.margin-right-0 {
  margin-right: 0 !important;
}

.margin-right-xs {
  margin-right: $uni-spacing-row-xs !important;
}

.margin-right-sm {
  margin-right: $uni-spacing-row-sm !important;
}

.margin-right-base {
  margin-right: $uni-spacing-row-base !important;
}

.margin-right-lg {
  margin-right: $uni-spacing-row-lg !important;
}

.margin-right-xl {
  margin-right: $uni-spacing-row-xl !important;
}

.margin-right-2xl {
  margin-right: $uni-spacing-row-2xl !important;
}

.margin-bottom-0 {
  margin-bottom: 0 !important;
}

.margin-bottom-xs {
  margin-bottom: $uni-spacing-col-xs !important;
}

.margin-bottom-sm {
  margin-bottom: $uni-spacing-col-sm !important;
}

.margin-bottom-base {
  margin-bottom: $uni-spacing-col-base !important;
}

.margin-bottom-lg {
  margin-bottom: $uni-spacing-col-lg !important;
}

.margin-bottom-xl {
  margin-bottom: $uni-spacing-col-xl !important;
}

.margin-bottom-2xl {
  margin-bottom: $uni-spacing-col-2xl !important;
}

.margin-left-0 {
  margin-left: 0 !important;
}

.margin-left-xs {
  margin-left: $uni-spacing-row-xs !important;
}

.margin-left-sm {
  margin-left: $uni-spacing-row-sm !important;
}

.margin-left-base {
  margin-left: $uni-spacing-row-base !important;
}

.margin-left-lg {
  margin-left: $uni-spacing-row-lg !important;
}

.margin-left-xl {
  margin-left: $uni-spacing-row-xl !important;
}

.margin-left-2xl {
  margin-left: $uni-spacing-row-2xl !important;
}

.margin-lr-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.margin-lr-xs {
  margin-left: $uni-spacing-row-xs !important;
  margin-right: $uni-spacing-row-xs !important;
}

.margin-lr-sm {
  margin-left: $uni-spacing-row-sm !important;
  margin-right: $uni-spacing-row-sm !important;
}

.margin-lr-base {
  margin-left: $uni-spacing-row-base !important;
  margin-right: $uni-spacing-row-base !important;
}

.margin-lr-lg {
  margin-left: $uni-spacing-row-lg !important;
  margin-right: $uni-spacing-row-lg !important;
}

.margin-lr-xl {
  margin-left: $uni-spacing-row-xl !important;
  margin-right: $uni-spacing-row-xl !important;
}

.margin-lr-2xl {
  margin-left: $uni-spacing-row-2xl !important;
  margin-right: $uni-spacing-row-2xl !important;
}

.margin-tb-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.margin-tb-xs {
  margin-top: $uni-spacing-col-xs !important;
  margin-bottom: $uni-spacing-col-xs !important;
}

.margin-tb-sm {
  margin-top: $uni-spacing-col-sm !important;
  margin-bottom: $uni-spacing-col-sm !important;
}

.margin-tb-base {
  margin-top: $uni-spacing-col-base !important;
  margin-bottom: $uni-spacing-col-base !important;
}

.margin-tb-lg {
  margin-top: $uni-spacing-col-lg !important;
  margin-bottom: $uni-spacing-col-lg !important;
}

.margin-tb-xl {
  margin-top: $uni-spacing-col-xl !important;
  margin-bottom: $uni-spacing-col-xl !important;
}

.margin-tb-2xl {
  margin-top: $uni-spacing-col-2xl !important;
  margin-bottom: $uni-spacing-col-2xl !important;
}

// 内间距

.padding-0 {
  padding: 0 !important;
}

.padding-ss {
  padding: $uni-spacing-col-ss $uni-spacing-row-ss !important;
}

.padding-xs {
  padding: $uni-spacing-col-xs $uni-spacing-row-xs !important;
}

.padding-sm {
  padding: $uni-spacing-col-sm $uni-spacing-row-sm !important;
}

.padding-base {
  padding: $uni-spacing-col-base $uni-spacing-row-base !important;
}

.padding-lg {
  padding: $uni-spacing-col-lg $uni-spacing-row-lg !important;
}

.padding-xl {
  padding: $uni-spacing-col-xl $uni-spacing-row-xl !important;
}

.padding-2xl {
  padding: $uni-spacing-col-2xl $uni-spacing-row-2xl !important;
}

.padding-top-0 {
  padding-top: 0 !important;
}

.padding-top-xs {
  padding-top: $uni-spacing-col-xs !important;
}

.padding-top-sm {
  padding-top: $uni-spacing-col-sm !important;
}

.padding-top-base {
  padding-top: $uni-spacing-col-base !important;
}

.padding-top-lg {
  padding-top: $uni-spacing-col-lg !important;
}

.padding-top-xl {
  padding-top: $uni-spacing-col-xl !important;
}

.padding-top-2xl {
  padding-top: $uni-spacing-col-2xl !important;
}

.padding-right-0 {
  padding-right: 0 !important;
}

.padding-right-xs {
  padding-right: $uni-spacing-row-xs !important;
}

.padding-right-sm {
  padding-right: $uni-spacing-row-sm !important;
}

.padding-right-base {
  padding-right: $uni-spacing-row-base !important;
}

.padding-right-lg {
  padding-right: $uni-spacing-row-lg !important;
}

.padding-right-xl {
  padding-right: $uni-spacing-row-xl !important;
}

.padding-right-2xl {
  padding-right: $uni-spacing-row-2xl !important;
}

.padding-bottom-0 {
  padding-bottom: 0 !important;
}

.padding-bottom-xs {
  padding-bottom: $uni-spacing-col-xs !important;
}

.padding-bottom-sm {
  padding-bottom: $uni-spacing-col-sm !important;
}

.padding-bottom-base {
  padding-bottom: $uni-spacing-col-base !important;
}

.padding-bottom-lg {
  padding-bottom: $uni-spacing-col-lg !important;
}

.padding-bottom-xl {
  padding-bottom: $uni-spacing-col-xl !important;
}

.padding-bottom-2xl {
  padding-bottom: $uni-spacing-col-2xl !important;
}

.padding-left-0 {
  padding-left: 0 !important;
}

.padding-left-xs {
  padding-left: $uni-spacing-row-xs !important;
}

.padding-left-sm {
  padding-left: $uni-spacing-row-sm !important;
}

.padding-left-base {
  padding-left: $uni-spacing-row-base !important;
}

.padding-left-lg {
  padding-left: $uni-spacing-row-lg !important;
}

.padding-left-xl {
  padding-left: $uni-spacing-row-xl !important;
}

.padding-left-2xl {
  padding-left: $uni-spacing-row-2xl !important;
}

.padding-lr-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.padding-lr-xs {
  padding-left: $uni-spacing-row-xs !important;
  padding-right: $uni-spacing-row-xs !important;
}

.padding-lr-sm {
  padding-left: $uni-spacing-row-sm !important;
  padding-right: $uni-spacing-row-sm !important;
}

.padding-lr-base {
  padding-left: $uni-spacing-row-base !important;
  padding-right: $uni-spacing-row-base !important;
}

.padding-lr-lg {
  padding-left: $uni-spacing-row-lg !important;
  padding-right: $uni-spacing-row-lg !important;
}

.padding-lr-xl {
  padding-left: $uni-spacing-row-xl !important;
  padding-right: $uni-spacing-row-xl !important;
}

.padding-lr-2xl {
  padding-left: $uni-spacing-row-2xl !important;
  padding-right: $uni-spacing-row-2xl !important;
}

.padding-tb-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.padding-tb-xs {
  padding-top: $uni-spacing-col-xs !important;
  padding-bottom: $uni-spacing-col-xs !important;
}

.padding-tb-sm {
  padding-top: $uni-spacing-col-sm !important;
  padding-bottom: $uni-spacing-col-sm !important;
}

.padding-tb-base {
  padding-top: $uni-spacing-col-base !important;
  padding-bottom: $uni-spacing-col-base !important;
}

.padding-tb-lg {
  padding-top: $uni-spacing-col-lg !important;
  padding-bottom: $uni-spacing-col-lg !important;
}

.padding-tb-xl {
  padding-top: $uni-spacing-col-xl !important;
  padding-bottom: $uni-spacing-col-xl !important;
}

.padding-tb-2xl {
  padding-top: $uni-spacing-col-2xl !important;
  padding-bottom: $uni-spacing-col-2xl !important;
}

/* ==================
          操作条
 ==================== */
.cu-bar {
  display: flex;
  position: relative;
  align-items: center;
  min-height: 100rpx;
  justify-content: space-between;
}

.cu-bar.foot {
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 11;
  box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1);
}

.cu-bar.tabbar {
  padding: 0;
  height: calc(100rpx + env(safe-area-inset-bottom) / 2);
  padding-bottom: calc(env(safe-area-inset-bottom) / 2);
}

.list-bottom {
  padding-bottom: calc(env(safe-area-inset-bottom) / 2);
}

/* ==================
          背景
 ==================== */

.bg-white {
  background-color: #ffffff !important;
  color: $uni-text-color !important;
}

.bg-main {
  background-color: $uni-color-red !important;
  color: #ffffff !important;
}

.bg-accent {
  background-color: $uni-color-darkred !important;
  color: #ffffff !important;
}

.bg-red {
  background-color: $uni-color-red !important;
  color: #ffffff !important;
}

.bg-yellow {
  background-color: #ffff00 !important;
  color: #ffffff !important;
}

.bg-green {
  background-color: #008000 !important;
  color: #ffffff !important;
}

.bg-weixin {
  background-color: #43c93e !important;
  color: #ffffff !important;
}

.bg-blue {
  background-color: #388CFF !important;
  color: #ffffff !important;
}

.bg-cyan {
  background-color: #00ffff !important;
  color: #ffffff !important;
}

.bg-orange {
  background-color: #ff6600 !important;
  color: #ffffff !important;
}

.bg-gold {
  background-color: #ffd700 !important;
  color: #ffffff !important;
}

.bg-page {
  background-color: $uni-bg-color-page !important;
  color: #333;
}

.bg-pink {
  background-color: rgba(255, 192, 203, 0.3) !important;
  color: $uni-color-red !important;
}

.bg-grey {
  background-color: $uni-bg-color-grey;
  color: $uni-text-color !important;
}

/* ==================
          文本
 ==================== */

.text-ss {
  font-size: $uni-font-size-ss !important;
}

.text-ls {
  font-size: $uni-font-size-ls !important;
}

.text-xs {
  font-size: $uni-font-size-xs !important;
}

.text-sm {
  font-size: $uni-font-size-sm !important;
}

.text-base {
  font-size: $uni-font-size-base !important;
}

.text-lg {
  font-size: $uni-font-size-lg !important;
}

.text-xl {
  font-size: $uni-font-size-xl !important;
}

.text-2xl {
  font-size: $uni-font-size-2xl !important;
}

.text-3xl {
  font-size: $uni-font-size-3xl !important;
}

.text-bold {
  font-weight: bold !important;
}

.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-accent,
.line-accent,
.lines-accent {
  color: $uni-color-darkred;
}


.text-main,
.line-main,
.lines-main {
  color: $uni-color-red;
}

.text-red,
.line-red,
.lines-red {
  color: #ff0000;
}

.text-orange,
.line-orange,
.lines-orange {
  color: #ff6600;
}

.text-black,
.line-black,
.lines-black {
  color: $uni-text-color !important;
}

.text-white,
.line-white,
.lines-white {
  color: #ffffff;
}

.text-grey,
.line-grey,
.lines-grey {
  color: $uni-text-color-grey !important;
}

.text-placeholder,
.line-placeholder,
.lines-placeholder {
  color: $uni-text-color-placeholder !important;
}

.text-yellow,
.line-yellow,
.lines-yellow {
  color: #ffff00 !important;
}

.text-golden,
.line-golden,
.lines-golden {
  color: #ffd700;
}

.text-green,
.line-green,
.lines-green {
  color: #008000;
}

.text-page,
.line-page,
.lines-page {
  color: $uni-bg-color-page;
}

.text-weixin,
.line-weixin,
.lines-weixin {
  color: #43c93e !important;
}

.text-zhifubao,
.line-zhifubao,
.lines-zhifubao {
  color: #00a0ea !important;
}

.text-line {
  text-decoration: line-through;
}

/* ==================
          自定义
 ==================== */

.card {
  position: relative;
  z-index: 5;
}

.border-none {
  border: none !important;
}

.border-t-base {
  border-top: 1px solid $uni-border-color-base;
}

.border-r-base {
  border-right: 1px solid $uni-border-color-base;
}

.border-l-base {
  border-left: 1px solid $uni-border-color-base;
}

.border-r-grey {
  border-right: 1px solid $uni-border-color-grey;
}

.border-r-white {
  border-right: 1px solid #FFFFFF;
}

.border-b-base {
  border-bottom: 1px solid $uni-border-color-base;
}

.border-b-base-light {
  border-bottom: 0.5px solid $uni-border-color-base;
}

.border-b-red {
  border-bottom: 1px solid $uni-color-red;
}

.border-b-red-lg {
  border-bottom: 2px solid $uni-color-red;
}

.border-b-white {
  border-bottom: 1px solid #ffffff;
}

.border-b-white-lg {
  border-bottom: 2px solid #ffffff;
}

.border-b-black {
  border-bottom: 1px solid $uni-text-color;
}

.border-b-grey {
  border-bottom: 1px solid $uni-border-color-grey;
}

.border-b-disable {
  border-bottom: 1px solid $uni-border-color-disable;
}

.border-b-text {
  border-bottom: 1px solid $uni-border-color-text;
}

.border-tb-white {
  border-top: 1px solid #ffffff !important;
  border-bottom: 1px solid #ffffff !important;
}

.border-base {
  border: 1px solid $uni-border-color-base;
}

.border-grey {
  border: 1px solid $uni-border-color-grey;
}

.border-black {
  border: 1px solid #333;
}

.border-red {
  border: 1px solid $uni-color-red;
}

.border-page {
  border: 1px solid $uni-bg-color-page;
}

/* 行高 */
.line-1 {
  line-height: 1;
}

.line-h1 {
  height: 1rpx;
  line-height: 1rpx;
}

.line-h30 {
  line-height: 30rpx;
}

.line-h35 {
  line-height: 35rpx;
}

.line-h40 {
  line-height: 40rpx;
}

.line-h50 {
  line-height: 50rpx;
}

.line-h60 {
  line-height: 60rpx;
}

.line-h64 {
  line-height: 64rpx;
}

.line-h70 {
  line-height: 70rpx;
}

.line-h70 {
  line-height: 70rpx;
}

.line-h80 {
  line-height: 80rpx;
}

.line-h90 {
  line-height: 90rpx;
}

.line-h100 {
  line-height: 100rpx;
}

.line-h120 {
  line-height: 120rpx;
}

/* 文本超出隐藏 */
.custom-ellipsis {
  white-space: pre-line;
  text-overflow: -o-ellipsis-lastline !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-all;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  white-space: nowrap !important;

  text {
    white-space: unset !important;
  }
}

.text-hidden {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}


.custom-ellipsis2 {
  display: -webkit-box;
  white-space: pre-line;
  text-overflow: -o-ellipsis-lastline !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-all;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.custom-ellipsis3 {
  text-overflow: -o-ellipsis-lastline;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  word-break: break-all;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

// 图片尺寸
// 1:1
.size-img-icon {
  width: 40rpx;
  height: 40rpx;
}

.size-img-ss {
  width: 80rpx;
  height: 80rpx;
}

.size-img-xs {
  width: 100rpx;
  height: 100rpx;
}

.size-img-sm {
  width: 120rpx;
  height: 120rpx;
}

.size-img-150 {
  width: 150rpx;
  height: 150rpx;
}

.size-img-base {
  width: 200rpx;
  height: 200rpx;
}

.size-img-lg {
  width: 240rpx;
  height: 240rpx;
}

.sticky-top {
  position: sticky;
  width: 100%;
  /* #ifdef H5 */
  top: 44px;
  /* #endif */
  /* #ifndef H5 */
  top: 0;
  /* #endif */
  z-index: 10;
}

.goods-type {
  width: 50rpx;
  height: 50rpx;
  border-radius: 5000px;
  text-align: center;
  line-height: 50rpx;
}

.goods-type.goodstype1 {
  border: 1px solid #ffc31a;

  text {
    color: #ffc31a;
  }
}

.goods-type.goodstype2 {
  border: 1px solid #fa072f;

  text {
    color: #fa072f;
  }
}

.goods-type.goodstype3 {
  border: 1px solid #6e4ee4;

  text {
    color: #6e4ee4;
  }
}

.goods-type.goodstype4 {
  border: 1px solid #4ee475;

  text {
    color: #4ee475;
  }
}

.goods-type.goodstype7 {
  border: 1px solid #a61aff;

  text {
    color: #a61aff;
  }
}

.search {
  background-color: $uni-bg-color-page;
  height: 70rpx;
  line-height: 70rpx;
  border-radius: 35rpx;
  display: flex;
  align-items: center;
  background-color: #fff;
  border: 1px solid #D3D3D3;
  width: calc(100% - 165rpx);

  input {
    width: calc(100% - 60rpx);
    height: 70rpx;
    line-height: 70rpx;
  }
}

.badge {
  width: 12rpx;
  height: 12rpx;
  border-radius: 6rpx;
}

.message-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30rpx;
  height: 30rpx;
  line-height: 30rpx !important;
  padding: 0 6rpx;
  border-radius: 15rpx;
}

.login-btn {
  width: 100%;
  height: 90rpx;
  border-radius: 90rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}

.login-btn.inset {
  width: 100%;
  height: 90rpx;
  border-radius: 20rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bottom-btn {
  position: fixed;
  width: 100vw;
  bottom: 0;
  left: 0;
}

.left {
  width: 200rpx;
}

.right {
  width: calc(100% - 200rpx);
}

.tag {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 70rpx;
  height: 40rpx;
  line-height: 40rpx;
  color: rgba(255, 255, 255, 1);
  font-size: $uni-font-size-sm;
  text-align: center;
}

.tag.red {
  background-color: rgba(255, 0, 0, 0.5);
}

.tag.blue {
  background-color: rgba(24, 143, 255, 0.5);
}


// 单选框
.check-box {
  width: 50rpx;
  height: 50rpx;
  box-sizing: border-box;
  border-radius: 50%;
  border-color: $uni-border-color-grey;
  border-width: 1px;
  border-style: solid;
  display: inline-flex;
}

.check-box.checked {
  border-color: $uni-color-red;
  background-color: $uni-color-red;
}

.check-box.black.checked {
  border-color: black;
  background-color: black;
}

.check-box.disable {
  border-color: $uni-border-color-disable;
  background-color: $uni-border-color-disable;
}

.check-box.checked::before {
  content: "\e629";
  font-family: "iconfont";
  font-size: 24rpx;
  color: #ffffff;
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.check-box.sm {
  width: 40rpx;
  height: 40rpx;
}

.check-box.sm.checked::before {
  font-size: 20rpx;
}


.product-title {
  line-height: 50rpx;
  height: 100rpx;
  display: -webkit-box;
  word-break: break-all;
  overflow: hidden;
  white-space: pre-line;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}